"""
Spark是Apache基金会旗下的顶级开源项目，用于对海量数据进行大规模分布式计算

PySpark是Spark的Python实现，是Spark为Python开发者提供的编程入口，用于以Python代码完成Spark任务的开发

PySpark不仅可以作为Python第三方库使用，也可以将程序提交的Spark集群环境中，调度大规模集群进行执行

演示获取PySpark的执行环境入库对象：SparkContext

并通过SparkContext对象获取当前PySpark的版本
"""

"""
想要使用PySpark库完成数据处理，首先需要构建一个执行环境入口对象

PySpark的执行环境入口对象是：类 SparkContext 的类对象

SparkContext类对象，是PySpark编程中一切功能的入口

PySpark的编程，主要分为如下三大步骤：
    数据输入
    数据处理计算
    数据输出

通过SparkContext对象，完成数据输入

输入数据后得到RDD对象，对RDD对象进行迭代计算

最终通过RDD对象的成员方法，完成数据输出工作

PySpark的编程模型是：
    数据输入：通过SparkContext完成数据读取
    数据计算：读取到的数据转换为RDD对象，调用RDD的成员方法完成计算
    数据输出：调用RDD的数据输出相关成员方法，将结果输出到list、元组、字典、文本文件、数据库等

"""

# 导包
from pyspark import SparkConf, SparkContext

# 创建SparkConf类对象
conf = SparkConf().setMaster("local[*]").setAppName("test_spark_app")
# 基于SparkConf类对象创建SparkContext对象
sc = SparkContext(conf=conf)
# 打印PySpark的运行版本
print(sc.version)
# 停止SparkContext对象的运行（停止PySpark程序）
sc.stop()
